<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>03.Promise解决回调地狱</title>
</head>
<body>
    <script>
        function addGoods() {
            console.log("1.新增商品"); // 3s
        }

        function editGoods() {
            console.log("2.修改商品"); // 2s
        }

        function delGoods() {
            console.log("3.删除商品"); // 1s
        }

        function execute(func, timeout) {
            // setTimeout(func, timeout);
            return new Promise(resolve => {
                setTimeout(() => {
                    func()
                    resolve()
                }, timeout);
            })
        }

        // execute(addGoods,3000).then(() => {
        //     return execute(editGoods,2000)
        // }).then(() => {
        //     return execute(delGoods,1000)
        // })
        async function myfun() {
            await execute(addGoods,3000)
            await execute(editGoods,2000)
            await execute(delGoods,1000)
        }
        myfun()
        // 嵌套回调函数  称之为 回调地狱
        // execute(() => {
        //     addGoods();
        //     execute(() => {
        //         editGoods();
        //         execute(() => {
        //             delGoods();

        //         }, 1000);
        //     }, 2000);
        // }, 3000);
    </script>

</body>

</html>